#pragma once

#include "platform.h"

class MemoryBounds
{
public:
	MemoryBounds(address_t begin, address_t end);

	MemoryBounds(const MemoryBounds&& other);

	const address_t begin() const;

	const address_t end() const;

	const address_t length() const;

	bool contains(address_t addr) const;

	static MemoryBounds fromLength(address_t begin, address_t length_);

protected:
	address_t begin_;
	address_t end_;
};
